package cn.lavender.web.configuration.http;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * <p>
 *  rest客户端连接配置：缺省则按照默认配置
 * </p>
 * @author: zhu.chen
 * @date: 2020/8/14
 * @version: v1.0.0
 */
@Data
@ConfigurationProperties(prefix = "lavender.http.rest.client")
public class RestClientProperties {

    /**
     * 建立连接的最大等待时间
     */
    private Integer connectionTimeout = 2000;

    /**
     * 建立连接后从服务器读取到可用资源所用的最大时间。
     */
    private Integer readTimeout = 30000;

    /**
     * 连接不够用的等待时间，不宜过长，必须设置，比如连接不够用时，时间过长将是灾难性的
     */
    private Integer connectionRequestTimeout = 200;

    /**
     * 每个主机的并发
     */
    private Integer defaultMaxPerRoute = 1000;

    /**
     * 整个连接池的并发
     */
    private Integer maxTotal = 1000;

    /**
     * GET类型的请求出现问题(服务不可用、异常、超时）时的重试次数，为0表示不重试
     */
    private Integer retryTime = 3;

}
